package com.hyzx.qbasic.admin.domain.repository;

import com.github.pagehelper.PageInfo;
import com.hyzx.qbasic.admin.model.po.AdminUserInfoPO;
import com.hyzx.qbasic.admin.model.po.AdminUserPO;
import com.hyzx.qbasic.admin.model.po.AdminUserTokenPO;

import java.util.List;

/**
 * Created by 黄江华 on 2017/9/21
 */

public interface IAdminUserRepository {
    AdminUserInfoPO getUserInfoById(int userId);

    AdminUserInfoPO getUserInfoByName(String userName);

    AdminUserTokenPO getUserToken(String userName);

    AdminUserPO getFullUserInfo(String userName);

    PageInfo<AdminUserInfoPO> getPagedUserList(int pageNum, int pageSize, String userName, Integer roleId);

    boolean addUser(AdminUserPO user, List<Integer> roleList, Integer orgId);

    boolean deleteUser(List<Integer> userIdList);

    boolean editUser(AdminUserPO user, List<Integer> roleList, Integer orgId);

    boolean resetPass(AdminUserPO user);

    List<AdminUserInfoPO> getUserListByRole(List<Integer> roleIdList);

    List<AdminUserInfoPO> getMultiUserInfo(List<Integer> userIdList);
}
